package ssm.ann.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * https://blog.csdn.net/f641385712/article/details/89845181
 * Controller 接口
 * 第一版 Spring MVC 就有了，所以这个接口是非常古老的接口，也是 Spring MVC 最早期的实现方式
 * org.springframework.web.servlet.mvc.Controller 是控制器接口
 * 此处只有一个方法 handleRequest，用于进行请求的功能处理，处理完请求后返回 ModelAndView(Model 模型数据部分 和 View 视图部分)
 */
@org.springframework.stereotype.Controller("/democontroller") // 注意此处需要以 / 开头，表示使用 BeanNameURLHandlerMapping 的方式处理
public class My_01_Controller implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        System.out.println("this my demo controller~");
        // return new ModelAndView("index");
        response.getWriter().write("this my demo controller from body");
        return null; // 返回 null 告诉视图渲染，直接把 body 里面的内容输出浏览器即可
    }
}
